package com.project.mapper;

import com.project.bean.UserBean;
import org.apache.ibatis.annotations.Param;

public interface IUserMapper {
    /**
     * 添加用户
     * @param user 用户对象
     */
    public void addUser(UserBean user);

    /**
     * 添加用户权限
     * @param userId 用户ID
     * @param gradeList 权限id数组
     */
    public void addGradeList(@Param("userId") Integer userId,
                             @Param("gradeList") int[] gradeList);

    /**
     * 删除用户，同时删除该用户的权限
     * @param userId 用户编号
     */
    public void delUser(Integer userId);

    /**
     * 修改用户权限
     * @param userId 用户编号
     * @param newGradeArray 新权限id数组
     */
    public void updateGrade(@Param("userId") Integer userId,
            @Param("newGradeArray") int[] newGradeArray);

    /**
     * 按ID查询用户，同时查询该用户拥有的权限集合
     * @param userId 用户ID
     * @return 用户对象
     */
    public UserBean findById(Integer userId);
}
